package com.yugu.park.system.service.impl;

import org.springframework.stereotype.Service;

import java.util.List;
import javax.annotation.Resource;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.transaction.annotation.Transactional;
import com.github.pagehelper.PageInfo;
import com.yugu.util.SearchPage;
import com.yugu.util.StringUtils;

import cn.hutool.core.lang.UUID;

import com.yugu.park.system.mapper.SysConfigMapper;
import com.yugu.park.system.entity.SysConfigEntity;
import com.yugu.park.system.service.SysConfigService;
import com.github.pagehelper.PageHelper;

@Service
@Transactional
public class SysConfigServiceImpl extends ServiceImpl<SysConfigMapper, SysConfigEntity> implements SysConfigService {
    @Resource
	private SysConfigMapper mapper;
	@Override
	public PageInfo<SysConfigEntity> page(SearchPage<SysConfigEntity> search) {
		PageHelper.startPage(search.getPageNum(),search.getPageSize());
        List<SysConfigEntity> list = mapper.page(search.getSearch());
        return PageInfo.of(list);
	}
	@Override
	public void addOrUpdate(SysConfigEntity t) {
		SysConfigEntity old = mapper.selectById(t.getId());
		if(old!=null) {
			String configKey = t.getConfigKey();
			if(StringUtils.isNotEmpty(configKey)) {
				old.setConfigKey(configKey);
			}
			String configType = t.getConfigType();
			if(StringUtils.isNotEmpty(configType)) {
				old.setConfigType(configType);
			}
			String configValue = t.getConfigValue();
			if(StringUtils.isNotEmpty(configValue)) {
				old.setConfigValue(configValue);
			}
			String name = t.getName();
			if(StringUtils.isNotEmpty(name)) {
				old.setName(name);
			}
			String remark = t.getRemark();
			if(StringUtils.isNotEmpty(remark)) {
				old.setRemark(remark);
			}
			mapper.updateById(old);
		}else{
			t.setId(UUID.randomUUID().toString().replaceAll("-", ""));
			mapper.insert(t);
		}
	}

}
